home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3dm / audiofile / AFgetinstids.z / AFgetinstids
Encoding:
Text File  |  2002-10-03  |  4.9 KB  |  133 lines

  1.  
  2.  
  3.  
  4. aaaaffffGGGGeeeettttIIIInnnnssssttttIIIIDDDDssss((((3333ddddmmmm))))                                            aaaaffffGGGGeeeettttIIIInnnnssssttttIIIIDDDDssss((((3333ddddmmmm))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      afGetInstIDs - get a list of instrument configurations from an
  10.      AAAAFFFFffffiiiilllleeeehhhhaaaannnnddddlllleeee
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      ####iiiinnnncccclllluuuuddddeeee <<<<ddddmmmmeeeeddddiiiiaaaa////aaaauuuuddddiiiiooooffffiiiilllleeee....hhhh>>>>
  14.  
  15.      iiiinnnntttt aaaaffffGGGGeeeettttIIIInnnnssssttttIIIIDDDDssss((((AAAAFFFFffffiiiilllleeeehhhhaaaannnnddddlllleeee ffffiiiilllleeee,,,, iiiinnnntttt ****iiiinnnnssssttttiiiiddddssss))))
  16.  
  17. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRR
  18.      _f_i_l_e      expects an AAAAFFFFffffiiiilllleeeehhhhaaaannnnddddlllleeee structure, created when an audio file
  19.                was opened by a call to aaaaffffOOOOppppeeeennnnFFFFiiiilllleeee(3dm).
  20.  
  21.      _i_n_s_t_i_d_s   an array of integer locations used to return a list of (unique)
  22.                positive instrument ID's which can be used to reference the
  23.                sampler configurations in a file.  For an AIFF/AIFF-C file,
  24.                this array will return the ID AAAAFFFF____DDDDEEEEFFFFAAAAUUUULLLLTTTT____IIIINNNNSSSSTTTT if there is an
  25.                instrument chunk.  If you pass a null _i_n_s_t_i_d_s array to
  26.                aaaaffffGGGGeeeettttIIIInnnnssssttttIIIIDDDDssss(((()))), it simply returns the number of sampler
  27.                configurations stored in the audio file.
  28.  
  29. RRRREEEETTTTUUUURRRRNNNN VVVVAAAALLLLUUUUEEEE
  30.      aaaaffffGGGGeeeettttIIIInnnnssssttttIIIIDDDDssss(((()))) returns a nonnegative integer count of the number of
  31.      instrument configurations in the file, or -1 in case of error.
  32.  
  33.      For AIFF-C and AIFF files, this value is always either 0 or 1.  The value
  34.      varies in other file formats, so it is important to use this routine to
  35.      check the inst count prior to handing it a pointer to an array.
  36.  
  37. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  38.      Typically, aaaaffffGGGGeeeettttIIIInnnnssssttttIIIIDDDDssss(((()))) is called twice.  The first time you pass it a
  39.      null _i_n_s_t_i_d_s array, and just check the return value. The return value
  40.      tells you how large an _i_n_s_t_i_d_s array to allocate, which you in turn pass
  41.      back to aaaaffffGGGGeeeettttIIIInnnnssssttttIIIIDDDDssss(((()))) to obtain a list of unique positive instrument ID
  42.      values.  You can then use these ID's to reference the various instrument
  43.      configurations in the file.
  44.  
  45.      For example, you pass an instrument ID to aaaaffffGGGGeeeettttIIIInnnnssssttttPPPPaaaarrrraaaammmmLLLLoooonnnngggg(3dm) to
  46.      obtain the values of the individual instrument parameters such as gain,
  47.      base note, and velocity range.
  48.  
  49. CCCCAAAAVVVVEEEEAAAATTTTSSSS
  50.      This function may return more than one inst, unlike the one fixed INST in
  51.      AIFF/AIFF-C files.  Other currently supported file formats have different
  52.      inst configurations than AIFF/AIFF-C.
  53.  
  54.      In the case of INST parameters it is important to be able to query at
  55.      runtime the capabilities of a given file format.  An application can use
  56.      aaaaffffQQQQuuuueeeerrrryyyy(3dm) to determine whether a given file format supports INST
  57.      chunks, and if so, the maximum number allowed.  Apps should also be
  58.      written to expect and ignore instrument configurations or instrument
  59.      parameters they do not understand.
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. aaaaffffGGGGeeeettttIIIInnnnssssttttIIIIDDDDssss((((3333ddddmmmm))))                                            aaaaffffGGGGeeeettttIIIInnnnssssttttIIIIDDDDssss((((3333ddddmmmm))))
  71.  
  72.  
  73.  
  74. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  75.      afOpenFile(3dm),  afInitInstIDs(3dm), afGetInstParamLong(3dm)
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.